home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 5
/
Skunkware 5.iso
/
man
/
cat.1
/
ispellfmt.1
< prev
next >
Wrap
Text File
|
1995-07-25
|
9KB
|
265 lines
IIIISSSSPPPPEEEELLLLLLLL((((4444)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV IIIISSSSPPPPEEEELLLLLLLL((((4444))))
NNNNAAAAMMMMEEEE
ispell - format of ispell dictionaries
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
Dictionaries for _i_s_p_e_l_l(1) come in two formats: raw, and
unhashed. The hashed dictionary is generated by _b_u_i_l_d_h_a_s_h
(see _i_s_p_e_l_l(1)) from the raw dictionary, and is not
described here.
A raw _i_s_p_e_l_l dictionary (either the main dictionary or your
own personal dictionary) contains a list of words, one per
line. Each word may optionally be followed by a slash ("/")
and one or more flags, which modify the root word as
explained below. Case is significant in the root word, but
ignored in the flags. The dictionary does not need to be
sorted.
The case of the root word controls the case of words
accepted by _i_s_p_e_l_l, as follows:
(1) If the root word appears only in lower case (e.g.,
"bob"), it will be accepted in lower case, capitalized,
or all capitals.
(2) If the root word appears capitalized (e.g., "Robert"),
it will be not be accepted in all-lower case, but will
be accepted capitalized or all in capitals.
(3) If the root word appears all in capitals (e.g.,
"UNIX"), it will only be accepted all in capitals.
(4) If the root word appears with a "funny" capitalization
(e.g., "ITCorp"), a word will be accepted only if it
follows that capitalization, or if it appears all in
capitals.
(5) More than one capitalization of a root word may appear
in the dictionary. Flags from different
capitalizations are combined by OR-ing them together.
Redundant capitalizations (e.g., "bob" and "Bob") will be
combined by _b_u_i_l_d_h_a_s_h and by _i_s_p_e_l_l (for personal
dictionaries), and can be removed from a raw dictionary by
_m_u_n_c_h_l_i_s_t.
For example, the dictionary:
bob
Robert
UNIX
ITcorp
ITCorp
Page 1 (printed 3/9/94)
IIIISSSSPPPPEEEELLLLLLLL((((4444)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV IIIISSSSPPPPEEEELLLLLLLL((((4444))))
will accept "bob," "Bob," "BOB," "Robert," "ROBERT," "UNIX,"
"ITcorp," "ITCorp," and "ITCORP," and will reject all
others. Some of the unacceptable forms are "bOb," "robert,"
"Unix," and "ItCorp."
As mentioned above, root words in any dictionary may be
extended by flags. Each flag is a single alphabetic
character, which represents a suffix that may be added to
the root to form a new word. For example, the "D" flag can
be added to "bathe" to make "bathed". Since flags are
represented as a single bit in the hashed dictionary, this
results in significant space savings. The _m_u_n_c_h_l_i_s_t script
will reduce an existing raw dictionary by adding flags when
possible.
When a word is extended with a suffix, the suffix will be
accepted only if it appears in the same case as the final
letter of the word. Thus, for example, the entry "UNIX/M"
in the main dictionary ("M" means add an apostrophe and an
"s" to make a possessive) would accept "UNIX'S" but would
reject "UNIX's". If "UNIX's" is legal, it must appear as a
separate dictionary entry, and it will not be combined by
_m_u_n_c_h_l_i_s_t.
In the following discussion of the flags, let # and @ be
"variables" that can stand for any letter. Upper case
letters are constants. "..." stands for any string of zero
or more letters, but note that no word may exist in the
dictionary which is not at least 2 letters long, so, for
example, "fly" may not be produced by placing the "Y" flag
on "f". Also, no flag is effective unless the word that it
creates is at least 4 letters long, so, for example, "wed"
may not be produced by placing the "D" flag on "we".
The meaning of the flags is as follows:
V
...e --> ...ive as in create --> creative
if # .ne. e, ...# --> ...#ive as in prevent -->
preventive
N
...e --> ...ion as in create --> creation
...y --> ...ication as in multiply --> multiplication
if # .ne. e or y, ...# --> ...#en as in fall -->
fallen
X
...e --> ...ions as in create --> creations
...y --> ...ications as in multiply -->
multiplications
if # .ne. e or y, ...# --> ...#ens as in weak -->
Page 2 (printed 3/9/94)
IIIISSSSPPPPEEEELLLLLLLL((((4444)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV IIIISSSSPPPPEEEELLLLLLLL((((4444))))
weakens
H
...y --> ...ieth as in twenty --> twentieth
if # .ne. y, ...# --> ...#th as in hundred -->
hundredth
Y
... --> ...ly as in quick --> quickly
G
...e --> ...ing as in file --> filing
if # .ne. e, ...# --> ...#ing as in cross --> crossing
J
...e --> ...ings as in file --> filings
if # .ne. e, ...# --> ...#ings as in cross -->
crossings
D
...e --> ...ed as in create --> created
if @ .ne. a, e, i, o, or u, ...@y --> ...@ied as in
imply --> implied
if # .ne. e or y, or (# = y and @ = a, e, i, o, or u)
...@# --> ...@#ed as in cross --> crossed or
convey --> conveyed
T
...e --> ...est as in late --> latest
if @ .ne. a, e, i, o, or u, ...@y --> ...@iest as in
dirty --> dirtiest
if # .ne. e or y, or (# = y and @ = a, e, i, o, or u)
...@# --> ...@#est as in small --> smallest or
gray --> grayest
R
...e --> ...er as in skate --> skater
if @ .ne. a, e, i, o, or u, ...@y --> ...@ier as in
multiply --> multiplier
if # .ne. e or y, or (# = y and @ = a, e, i, o, or u)
...@# --> ...@#er as in build --> builder or
convey --> conveyer
Z
...e --> ...ers as in skate --> skaters
if @ .ne. a, e, i, o, or u, ...@y --> ...@iers as in
multiply --> multipliers
if # .ne. e or y, or (# = y and @ = a, e, i, o, or u)
...@# --> ...@#ers as in build --> builders or
slay --> slayers
S
Page 3 (printed 3/9/94)
IIIISSSSPPPPEEEELLLLLLLL((((4444)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV IIIISSSSPPPPEEEELLLLLLLL((((4444))))
if @ .ne. a, e, i, o, or u, ...@y --> ...@ies as in
imply --> implies
if # .eq. s, x, z, or h, ...# --> ...#es as in fix -->
fixes
if # .ne. s, x, z, h, or y, or (# = y and @ = a, e, i,
o, or u) ...@# --> ...@#s as in bat --> bats or
convey --> conveys
P
if @ .ne. a, e, i, o, or u, ...@y --> ...@iness as in
cloudy --> cloudiness
if # .ne. y, or @ = a, e, i, o, or u, ...@# -->
...@#ness as in late --> lateness or gray -->
grayness
M
... --> ...'s as in dog --> dog's
To summarize more briefly:
V - ive
N - ion, tion, en
X - ions, ications, ens
H - th, ieth
Y - ly
G - ing
J - ings
D - ed
T - est
R - er
Z - ers
S - s, es, ies
P - ness, iness
M - 's
SSSSEEEEEEEE AAAALLLLSSSSOOOO
ispell(1)
Page 4 (printed 3/9/94)